// pages/beansDetail/beansDetail.ts
// 引入封装好的 http 模块
const DetailhttpService = require('../../utils/beans'); // 根据实际路径修改
Page({

  /**
   * 页面的初始数据
   */
  data: {
    receivedId: '',
    receivedName: '',
    engName: '',
    pathongen: '',
    bannerList: [
    ],
    contentList: [],
  },


  goBack() {
    wx.navigateBack({
      delta: 1,
      success: () => {
        // 可在此处携带返回数据
        const pages = getCurrentPages();
        if (pages.length >= 2) {
          const prevPage = pages[pages.length - 2];
          prevPage.setData({
            // 更新上一页的数据
            refreshData: Date.now()
          });
        }
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('接收到的原始参数:', options);
    const id = options.pid;
    let name = options.name;
    try {
      name = decodeURIComponent(name);
    } catch (error) {
      console.error('解码失败:', error);
    }
    this.setData({
      receivedId: id,
      receivedName: name,
    });
    this.getPestDetail(id, name)
  },

  getPestDetail(id: string, name: string) {
    if (!id) {
      console.error('ID 不存在，无法请求详情');
      return;
    }

    const url = `Pest/getPestById?id=${encodeURIComponent(id)}`;
    DetailhttpService.get(url)
      .then((response) => {
        // 假设 response 是直接返回的对象，如果它是嵌套的，请相应调整
        const pestData = response; // 根据实际返回的数据结构调整
        console.log(pestData)
        this.setData({
          engName: pestData.nameeng,
          pathongen: pestData.pathogen,
        });
        const contentList = [
          {
            id: 1,
            info: '为害症状',
            previewText: pestData.damagesym || '暂无描述'
          },
          {
            id: 2,
            info: '侵染循环',
            previewText: pestData.cycle || '暂无描述'
          },
          {
            id: 3,
            info: '发生因素',
            previewText: pestData.ofactor || '暂无描述'
          },
          {
            id: 4,
            info: '防治方法',
            previewText: pestData.cmethod || '暂无描述'
          }
        ];

        this.setData({
          contentList: contentList
        });
      })
      .catch((error) => {
        console.error('GET 请求失败:', {
          error: error.errMsg || error.message,
          stack: error.stack
        });
      });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    this.getAllImg(this.data.receivedId)
  },

  getAllImg(id: string) {
    if (!id) {
      console.error('ID 不存在，无法请求详情');
      return;
    }
    const url = `ImgDetail/getAllImg?id=${encodeURIComponent(id)}`;
    DetailhttpService.get(url)
      .then((response) => {
        console.log(response)
        this.setData({
          bannerList: response,
        })
      })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})